Online analytical processing (OLAP) is a key part of most data warehouse and business analysis systems. OLAP services provide for fast analysis of multidimension information. For this purpose, OLAP services provide for multidimensional access and navigation of data in an intuitive and natural way, providing a global view of data that can be drilled down into particular data of interest. Speed and response time are important attributes of OLAP services that allow users to browse and analyze data online in an efficient manner. Further, OLAP services typically provide analytical tools to rank, aggregate and calculate lead and lag indicators for the data under analysis.
Databases are commonly queried for aggregations (e.g., summaries, minimums, maximums, counts and the like) of detail data rather than individual data items. For example, a user may want to know sales data for a given period of time without regard to geographical distinctions. These types of queries may be efficiently answered through aggregations. Aggregations are pre-computed summaries of selected detail data that allow an OLAP system or a relational database to quickly respond to queries by avoiding collecting and aggregating detailed data during query execution. Without aggregations, the system would need to scan all of the rows containing the detailed data to answer these queries, resulting in substantial processing delays. With aggregations, the system computes and materializes aggregations ahead of time so that when the query is submitted to the system, the appropriate aggregation already exists and can be sent to the user much more quickly. Calculating these aggregations, however, can be costly, both in terms of processing time and in terms of disk space consumed.
Multidimensional aggregations may be represented in cubes. A cube is a multidimensional database that represents data similar to a 3-D spreadsheet rather than a relational database. The cube allows different views of the data to be displayed quickly by employing concepts of dimensions and measures. Dimensions define the structure of the cube, e.g., geographical location or a product type, while measures provide the quantitative values of interest to the end user, e.g., sales dollars, inventory amount, and total expenses.
Multidimensional aggregations in cubes have a number of problems. Typically, end users are required to issue queries to find information that may be of interest to them. These queries may be based on the end users' prior experience with the business or other ad-hoc criteria. In situations where prior experience is not pertinent (or non existent) and where no useful ad-hoc criteria exists, the end users may end up spending hours in coming up with various types of queries by trial and error to find information that may be of interest to them. Wading through large numbers of aggregations to identify aggregations of interest may be frustrating to the end users.